// 这里放 axios 的配置
// 比如 全局配置请求根路径，比如 请求拦截器、比如响应拦截器等等

// 1. 全局配置 请求根路径
axios.defaults.baseURL = 'http://www.itcbc.com:8000';

// 2. 统一配置接口的请求头（全局配置 或 请求拦截器中）
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');

// 3. 加响应拦截器，针对 code === 1 的情况进行提示
axios.interceptors.response.use(
  // 我们响应状态码，什么值都有，既有 2xx 的状态码，也有 3xx的状态码，也有 4xx 的状态码
  // 所以，下面两个函数，都有处理（都要给出提示）
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    // console.log(response.data); // 它就是响应结果
    let { code, message } = response.data;
    if (code === 1) {
      toastr.warning(message);
    }
    return response;
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    // console.log(error.response); // 它就是响应结果
    if (error.response) { // 判断，先判断错误结果是否可以得到
      let { code, message } = error.response.data;
      if (code === 1 && message === '身份认证失败') {
        // 说明用户使用了假token
        // 移除token
        localStorage.removeItem('token');
        // 跳转到登录页
        // location.href = './login.html'; // 这样写，只是让当前页面跳转到登录页
        window.parent.location.href = './login.html' //这样写，表示让父页面跳转到登录页面
      } else {
        toastr.error(message);
      }
    }
    return Promise.reject(error);
  }
);